1) Tanımlayıcı İstatistikler
Veri Setinin Tanıtılması
diagnosis=Teşhis(M=Malign(Kötü Huylu),B=Benign(İyi Huylu)))
radius_mean=Yarıçap Ort.
texture_mean=Doku Ort.(gri tonlamalı değerlerin Ort.)
perimeter_mean=çevre Ort.
area_mean=Alan Ort.
smothness_mean=Düzgünlük Ort.(yarıçap uzunluklarında yerel değişiklik)
compectness_mean=Kompaktlık Ort.(çevre^2 / alan - 1.0)
concavity_mean=İçbükeylik Ort.(konturun içbükey kısımlarının şiddeti)
concave_point=içbükey noktaların Ort. (konturun içbükey bölümlerinin sayısı)
symmetry_mean=Simetri Ort.
fractal_dimension_mean=Fraktal Boyut Ort.(“kıyı çizgisi yaklaşımı” )
## # A tibble: 6 x 6
## diagnosis radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 M 18.0 10.4 123. 1001 0.118
## 2 M 20.6 17.8 133. 1326 0.0847
## 3 M 19.7 21.2 130 1203 0.110
## 4 M 11.4 20.4 77.6 386. 0.142
## 5 M 20.3 14.3 135. 1297 0.100
## 6 M 12.4 15.7 82.6 477. 0.128
## radius_mean texture_mean perimeter_mean area_mean
## Min. : 6.981 Min. : 9.71 Min. : 43.79 Min. : 143.5
## 1st Qu.:11.707 1st Qu.:16.17 1st Qu.: 75.20 1st Qu.: 420.3
## Median :13.375 Median :18.84 Median : 86.29 Median : 551.4
## Mean :14.139 Mean :19.28 Mean : 92.05 Mean : 655.7
## 3rd Qu.:15.797 3rd Qu.:21.79 3rd Qu.:104.15 3rd Qu.: 784.1
## Max. :28.110 Max. :39.28 Max. :188.50 Max. :2501.0
## smoothness_mean compactness_mean concavity_mean concave points_mean
## Min. :0.06251 Min. :0.01938 Min. :0.00000 Min. :0.00000
## 1st Qu.:0.08640 1st Qu.:0.06517 1st Qu.:0.02958 1st Qu.:0.02035
## Median :0.09589 Median :0.09312 Median :0.06155 Median :0.03360
## Mean :0.09644 Mean :0.10445 Mean :0.08896 Mean :0.04901
## 3rd Qu.:0.10533 3rd Qu.:0.13043 3rd Qu.:0.13100 3rd Qu.:0.07401
## Max. :0.16340 Max. :0.34540 Max. :0.42680 Max. :0.20120
## symmetry_mean fractal_dimension_mean
## Min. :0.1060 Min. :0.04996
## 1st Qu.:0.1620 1st Qu.:0.05770
## Median :0.1792 Median :0.06155
## Mean :0.1812 Mean :0.06280
## 3rd Qu.:0.1957 3rd Qu.:0.06613
## Max. :0.3040 Max. :0.09744
Özellikle texture_mean, area_mean gibi birçok değişkende sapan değerler gözlemlenmiştir.
apply(data,2,sd)
## radius_mean texture_mean perimeter_mean
## 3.516986e+00 4.299166e+00 2.424982e+01
## area_mean smoothness_mean compactness_mean
## 3.516606e+02 1.395600e-02 5.279766e-02
## concavity_mean concave points_mean symmetry_mean
## 7.970273e-02 3.878258e-02 2.742220e-02
## fractal_dimension_mean
## 7.064628e-03
apply(data,2,mean)
## radius_mean texture_mean perimeter_mean
## 14.13850176 19.28040493 92.04658451
## area_mean smoothness_mean compactness_mean
## 655.72341549 0.09643727 0.10444789
## concavity_mean concave points_mean symmetry_mean
## 0.08895565 0.04900527 0.18120141
## fractal_dimension_mean
## 0.06280458
Değişkenlerin varyansaları ve özellikle ortalamaları birbirinden oldukça farklı olduğu için korelasyon matrisi üzerinden PCA yapılmalıdır.
2) Korelasyon Matrisi

*radius_mean ve perimeter_mean 1
*radius_mean ve area_mean 0.99
*area_mean ve perimeter_mean 0.99
*concavity_mean ve concave_point_mean 0.92
ile pozitif yönde en yüksek ilişkiye sahip değişkenlerdir. Genel olarak değişkenlerin bir çoğu birbirleriyle oldukça ilişkilidir.(pozitif yönde)
3) Kutu Grafikleri (Box-Plot)


Değişkenlerin veri standaştırıldıktan sonraki kutu grafiklerine bakıldığında uç ve aykırı değerlere sahip olduğu görülmektedir.area_mean ve fraction_dimension_mean değişkenleri en çok sapan değere sahip olan değişkenlerdir.
4) PCA
Bileşen Sayısı
Özdeğerler
## [,1] [,2] [,3] [,4] [,5] [,6]
## eigenvalues 5.4738032 2.5288709 0.87512254 0.49962016 0.37271835 0.12401037
## prop.var 0.5473803 0.2528871 0.08751225 0.04996202 0.03727184 0.01240104
## cum.prop.var 0.5473803 0.8002674 0.88777966 0.93774168 0.97501351 0.98741455
## [,7] [,8] [,9] [,10]
## eigenvalues 0.080260537 0.034499247 0.010812414 2.822935e-04
## prop.var 0.008026054 0.003449925 0.001081241 2.822935e-05
## cum.prop.var 0.995440605 0.998890529 0.999971771 1.000000e+00
İlk 2 bileşenin değeri 1’in üstünde ve 3.bileşen değeri 1’e yakın olduğu için şimdilik 3 bileşen veriyi açıklamaya yetiyor.
1.bileşen tek başına verilerin %54’ünü açıklarken ikinci bileşenle birlikte verilerin %80’i açıklanabilirken 3.bileşenle birlikteyse %88’lik bir açıklayıcılağa erişiliyor.
Temel bileşen sayısına karar vermek için bakılan grafikler ve yapılan analizler

## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 2.3396 1.5902 0.93548 0.70684 0.61051 0.3522 0.28330
## Proportion of Variance 0.5474 0.2529 0.08751 0.04996 0.03727 0.0124 0.00803
## Cumulative Proportion 0.5474 0.8003 0.88778 0.93774 0.97501 0.9874 0.99544
## PC8 PC9 PC10
## Standard deviation 0.18574 0.10398 0.01680
## Proportion of Variance 0.00345 0.00108 0.00003
## Cumulative Proportion 0.99889 0.99997 1.00000

2.bileşenden sonra Önemli bir degişim olmamış.
Özdeğerlerin karekökleri
## [1] 2.33961603 1.59024241 0.93547985 0.70683814 0.61050663 0.35215106
## [7] 0.28330291 0.18573973 0.10398276 0.01680159

PC3 bileşininden sonra özdeğerler ve sd değerleri 1’in altına düştüğü, scree plot ve plot grafiklerine bakıldığında (dirsek metodu) 2.bileşenden sonra çok büyük bir değişim olmadığı ve PC2 ile verinin total olarak %80’i açıklanabildiği için burada 2 bileşen seçilmiştir ve analize 2 bileşen üzerinden devam edilmiştir. (Burada 3. bileşende analize dahil edilebilirdi. 3.bileşenin özdeğeri 0.87 idi. (1’den düşük ama 1’e yakın olduğu için belkide tolere edilebilirdi) ve 3. bileşenle birlikte verilerin %88’i açıklanabilmekteydi. Ama benim için %80’lik bir açıklayıcılık yeterli olmuştur. )
## PC1 PC2
## [1,] -5.207134 -3.2061213
## [2,] -1.723105 2.5455224
## [3,] -3.964616 0.5425875
## [4,] -3.580639 -6.9135188
## [5,] -3.143084 1.3571978
## [6,] -1.368269 -3.3198377
## [7,] -1.597243 1.4984830
## [8,] -1.247362 -2.4983251
## [9,] -2.380628 -3.2838092
## [10,] -2.435421 -3.6320739
Temel Bileşenlerin Yorumlanması
## PC1 PC2 PC3 PC4
## radius_mean -0.36396244 0.313994993 -0.12312595 0.02967207
## texture_mean -0.15714912 0.145107611 0.95299534 0.01035910
## perimeter_mean -0.37611869 0.284652517 -0.11313039 0.01354327
## area_mean -0.36422437 0.304190212 -0.12399187 0.01318263
## smoothness_mean -0.23085776 -0.404201230 -0.15907816 -0.10805928
## compactness_mean -0.36427847 -0.266589261 0.05453962 -0.18565020
## concavity_mean -0.39584887 -0.105089950 0.03690826 -0.16680343
## concave points_mean -0.41822848 -0.008188541 -0.07193489 -0.07352672
## symmetry_mean -0.21464987 -0.368093819 0.03331658 0.89326916
## fractal_dimension_mean -0.07092789 -0.570736110 0.11198279 -0.34835742
Özvektör değerlerine göre artık verinin boyut indirgenmiş halinde PC1 bileşeni radius_mean,texture_mean, perimeter_mean , area_mean , compactness_mean,concavity_mean ve concave points_mean değişkenlerini temsil ederken PC2 smoothnes_mean ve symmetry_mean ve fractal_dimension_mean değişkenlerini temsil ediyor. PC1->Cell_Values, PC2->Cell_Shape
Burada aslında PC3 0.95 ile texture ya da PC4 0.89 ile symmetry değişkenini temsil ediyor gibi görünüyor fakat değişkenler arasındaki korelasyon yüksek olduğu için dikkate alınmamaktadır.

data.pca$x [462,1:2]
## PC1 PC2
## -8.646587 3.118027
data[462,]
## # A tibble: 1 x 10
## radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 27.4 26.3 187. 2501 0.108
## # ... with 5 more variables: compactness_mean <dbl>, concavity_mean <dbl>,
## # concave points_mean <dbl>, symmetry_mean <dbl>,
## # fractal_dimension_mean <dbl>
Yukarıdaki grafikte bileşenler bazında değişkenlerin ve kişilerin (hasta numaraları) konumları gösterilmiştir. 462. gözlem değerinin konumuna bakıldığında PC1 (Cell_Values) açısından negatif PC2 (trade) açısından pozitif konumda yer almaktadır ve en yüksek temsil edilme oranı 1.bileşen ile olmuştur. 462.gözlem değeri tüm değişkenlerle aynı tarafta olduğu için tüm değişkenler açısından yüksek değerler almıştır.(Etiketi M.)
Bazı gözlem değerlerinin incelenmesi
data[308,]
## # A tibble: 1 x 10
## radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 9 14.4 56.4 246. 0.0700
## # ... with 5 more variables: compactness_mean <dbl>, concavity_mean <dbl>,
## # concave points_mean <dbl>, symmetry_mean <dbl>,
## # fractal_dimension_mean <dbl>
data.pca$x[308,1:2]
## PC1 PC2
## 3.5077367 -0.5543553
308.gözlem değerine bakıldığında ise yine en yüksek 1. bileşen tarafından temsil edilmektedir. Ve tüm değişkenlerle zıt konumda bulunduğu için tüm değişkenler açısından ortalamadan düşük değerler almıştır.(308.gözlem değerinin etiketi B olduğu için değerlerin düşük olması tümörün iyi huylu olduğu anlamına gelir :)
Değişkenlerin Her Bileşene Katkısı
## Dim.1 Dim.2 Dim.3 Dim.4
## radius_mean 13.2468660 9.859285569 1.5159999 0.08804320
## texture_mean 2.4695846 2.105621866 90.8200114 0.01073109
## perimeter_mean 14.1465267 8.102705532 1.2798486 0.01834201
## area_mean 13.2659393 9.253168517 1.5373983 0.01737818
## smoothness_mean 5.3295306 16.337863399 2.5305861 1.16768072
## compactness_mean 13.2698802 7.106983422 0.2974570 3.44659961
## concavity_mean 15.6696328 1.104389749 0.1362220 2.78233835
## concave points_mean 17.4915065 0.006705221 0.5174628 0.54061785
## symmetry_mean 4.6074567 13.549305952 0.1109994 79.79298003
## fractal_dimension_mean 0.5030766 32.573970773 1.2540145 12.13528897
Dim1 boyutunda concave points_mean 17.49 ile , Dim2 boyutunda ise fractal_dim_mean 32.57 ile en fazla katkıda bulunan değişkenlerdir.
Değişkenlerin her bir bileşen tarafından açıklanma oranları
## Dim.1 Dim.2 Dim.3 Dim.4
## radius_mean 0.72510737 0.2493286065 0.013266857 4.398816e-04
## texture_mean 0.13518020 0.0532484593 0.794786392 5.361468e-05
## perimeter_mean 0.77435302 0.2049069647 0.011200243 9.164038e-05
## area_mean 0.72615140 0.2340006886 0.013454119 8.682489e-05
## smoothness_mean 0.29172801 0.4131634779 0.022145729 5.833968e-03
## compactness_mean 0.72636712 0.1797264377 0.002603114 1.721991e-02
## concavity_mean 0.85772485 0.0279285913 0.001192109 1.390112e-02
## concave points_mean 0.95745064 0.0001695664 0.004528434 2.701036e-03
## symmetry_mean 0.25220311 0.3426444593 0.000971381 3.986618e-01
## fractal_dimension_mean 0.02753742 0.8237536772 0.010974164 6.063035e-02
Yalnızca PC1 ile yarıçap ortalamasının %72’si temsil edilirken 2 bileşenle birlikte %97’si temsil edilmektedir.
Destekleyici Görseller

İki vektörün birbirine yakın olması birbiriyle ilişkili olduğunu göstermektedir.radius,perimeter ve area değişkenleri ile smoothnes ve symmetry değişkenleri birbirlerine oldukça yakın oldukları için aradaki ilişki de kuvvetlidir.

concave_points_mean ve fractal_dimensional_mean değişkenlerinin aralarındakı açı 90 dereceye yakın olduğu için korelasyonlarının düşük olduğu söylenebilir.
PC1-PC2

4) Uzaklık-Benzerlik Matrisleri

Değişkenlerin özet istatistik değerleri ve kutu grafiklerine bakıldığında sapan değerler görülüyor.
dist_eucl=dist(scale_data, method="euclidean")
fviz_dist(dist_eucl)

dist_man=dist(scale_data, method="manhattan")
fviz_dist(dist_man)

Veriler arasındaki uzaklıkları ölçmek için üç farklı yöntem de denenmiştir.Üç yöntemde birbirine paralel sonuçlar vermiştir. Manhattan uzaklık ölçüsü Öklide göre 3 kat daha vurguludur. Pearson ise bu iki uzaklık ölçüsünden daha farklı bir konumdadır. Değişkenler arasındaki benzerlik bakımından sonuçları gösterir.
## 73 74
## 63 5.38 8.41
## 64 17.92 10.43
64-73->>17.92 birbirine uzak gözlem değerleridir.(Diagnosis 64 =B, 73=M)
63-73->>5.38 birbirine yakın gözlem değerleridir.(Diagnosis=M)
Kümeleme Analizleri
Optimal küme sayısına karar vermek için üç yönteminde sonuçlarına bakılmıştır.Optimal küme sayısı 2 ya da 3 olabilir. kmeans ve kmedoids için scale data üzerinden yapılan analiz sonuçları aşağıdadır. Asıl analize PCA ile boyut küçültülmüş veri üzerinden devam edilmiştir.
Model; Kümelerin sahip olduğu eleman sayıları;
k=2 için %38.8 169, 399
k=3 için %49.9 116, 118, 334
k=4 için %56.3 44, 314, 105, 105
açıklayıcılığa sahiptir.
5) PCA + K Means

Optimal küme sayısına karar vermek için üç metod da denemiştir ve üçü de paralel sonuçlar vermiştir. k=2 optimal küme sayısıdır. Yine de alternatif k değerleri için de analiz yapılmıştır.
PCA + kmeans=2

## Group.1 PC1 PC2
## 1 1 -3.023889 0.07167644
## 2 2 1.280795 -0.03035919
## Group.1 PC1 PC2
## 1 1 1.734543 2.047813
## 2 2 1.000429 1.352570
PCA + kmeans=3

## Group.1 PC1 PC2
## 1 1 -3.355189 1.1327994
## 2 2 -1.036728 -1.8981433
## 3 3 1.538486 0.2680995
## Group.1 PC1 PC2
## 1 1 1.890823 1.336869
## 2 2 1.378572 1.426649
## 3 3 0.840162 1.088796
PCA + kmeans=4

Model; *********************** Kümelerin sahip olduğu eleman sayıları;
k=2 için %48.5 **************** 169, 399
k=3 için % 62.3 **************** 117, 117, 334
k=4 için %70.1 **************** 315, 104, 44, 105
açıklayıcılığa sahiptir.
Kümelerin açıklıyıcılıklarına ve küme içi değişimlere bakıldığında k=2,3 optimal görünüyor.
6) PCA + kmedoids

Optimal küme sayısına karar vermek için üç metod da denemiştir ve üçü de paralel sonuçlar vermiştir.Yine k=2 optimal küme sayısıdır. Yine de alternatif k değerleri için de analiz yapılmıştır.
PCA + kmedoids=2

aggregate(data_pca, by=list(pam_data_pca2$cluster), mean)
## Group.1 PC1 PC2
## 1 1 -2.765870 0.13208667
## 2 2 1.390252 -0.06639277
aggregate(data_pca, by=list(pam_data_pca2$cluster), sd)
## Group.1 PC1 PC2
## 1 1 1.7929461 1.993517
## 2 2 0.9096758 1.340832
PCA + kmedoids=3

k=4 ve sonraki k değerleri için küme içi çakışmalar fazladır.k=2|3 optimaldir.
7) Aşamalı Kümeleme
ward.D2 bağlantı fonksiyonu ile




Kojenetik Uzaklık ile Orjinal Uzaklık Arasındaki Korelasyon
ward bağlantı fonk. ile:
coph_e <- cophenetic(hc_e_w)
as.matrix(coph_e)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.00000 27.13883 27.138832 63.37970 27.138832 63.37970
## 2 27.13883 0.00000 10.417587 63.37970 10.417587 63.37970
## 3 27.13883 10.41759 0.000000 63.37970 5.324452 63.37970
## 4 63.37970 63.37970 63.379698 0.00000 63.379698 7.52058
## 5 27.13883 10.41759 5.324452 63.37970 0.000000 63.37970
## 6 63.37970 63.37970 63.379698 7.52058 63.379698 0.00000
as.matrix(dist_euc)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.000000 6.724572 3.949262 4.048491 5.008411 3.840549
## 2 6.724572 0.000000 3.006014 9.639704 1.851609 5.876084
## 3 3.949262 3.006014 0.000000 7.465987 1.156938 4.653961
## 4 4.048491 9.639704 7.465987 0.000000 8.282283 4.220086
## 5 5.008411 1.851609 1.156938 8.282283 0.000000 5.002462
## 6 3.840549 5.876084 4.653961 4.220086 5.002462 0.000000
cor(dist_euc,coph_e)
## [1] 0.6184264
cor(dist_man,coph_m)
## [1] 0.6018452
avarage bağlantı fonksiyonu ile


coph_e_a <- cophenetic(hc_e_a)
as.matrix(coph_e_a)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.000000 3.770599 3.770599 6.723353 3.770599 3.620892
## 2 3.770599 0.000000 2.505373 6.723353 2.505373 3.770599
## 3 3.770599 2.505373 0.000000 6.723353 1.419922 3.770599
## 4 6.723353 6.723353 6.723353 0.000000 6.723353 6.723353
## 5 3.770599 2.505373 1.419922 6.723353 0.000000 3.770599
## 6 3.620892 3.770599 3.770599 6.723353 3.770599 0.000000
as.matrix(dist_euc)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.000000 6.724572 3.949262 4.048491 5.008411 3.840549
## 2 6.724572 0.000000 3.006014 9.639704 1.851609 5.876084
## 3 3.949262 3.006014 0.000000 7.465987 1.156938 4.653961
## 4 4.048491 9.639704 7.465987 0.000000 8.282283 4.220086
## 5 5.008411 1.851609 1.156938 8.282283 0.000000 5.002462
## 6 3.840549 5.876084 4.653961 4.220086 5.002462 0.000000
cor(dist_euc,coph_e_a)
## [1] 0.8154837
coph_m_a <- cophenetic(hc_m_a)
as.matrix(coph_m_a)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.000000 7.176651 7.176651 4.618401 7.176651 3.460471
## 2 7.176651 0.000000 3.045074 7.176651 2.454261 7.176651
## 3 7.176651 3.045074 0.000000 7.176651 3.045074 7.176651
## 4 4.618401 7.176651 7.176651 0.000000 7.176651 4.618401
## 5 7.176651 2.454261 3.045074 7.176651 0.000000 7.176651
## 6 3.460471 7.176651 7.176651 4.618401 7.176651 0.000000
as.matrix(dist_man)[1:6,1:6]
## 1 2 3 4 5 6
## 1 0.000000 9.235673 4.991227 5.333892 6.627369 3.952582
## 2 9.235673 0.000000 4.244446 11.316576 2.608304 6.220196
## 3 4.991227 4.244446 0.000000 7.840083 1.636142 6.458773
## 4 5.333892 11.316576 7.840083 0.000000 8.708272 5.806052
## 5 6.627369 2.608304 1.636142 8.708272 0.000000 6.451851
## 6 3.952582 6.220196 6.458773 5.806052 6.451851 0.000000
## [1] 0.781445
Küme ağacının ne kadar iyi olduğunu anlamak için kojentik uzaklık ile orjinal uzaklık arasındaki korelasyona bakılmıştır ve en yüksek sonuç 0.81 ile euclid metriğiyle average fonk.olmuştur.
cut tree in 2 groups


k=2 için kümeleme yapıldığında çakışmalar görülmüştür.
cut tree in 3 groups


k=3 2 kümeye göre daha iyi görünüyor.
Dendegramları Karşılaştırma


2’li olarak 4 dendogram da karşılaştırılmıştır ve hepsinin entanglement değeri 1’e yakın çıkmıştır.Yani dendagramlar arasındaki uyum azdır. Karışıklık vardır.
set.seed(123)
x <- dendlist(dend1,dend2) %>% untangle(method = "random", R = 10)
x %>% plot(main = paste("entanglement =", round(entanglement(x), 2))) ## 0.27

Entanglement değeri 0.27’ye düşürülmüştür.Dendegramlar arasındaki uyum artmıştır.
Korelasyon Matrisi
En yüksek centroid ve average 0.96 ward.D2 ve average 0.85. Yani bu dendegramlar birbirlerine yakın sonuçlar vermektedir.

Küme-Ağaç Görselleştirilmesi

8) Model Temelli Kümeleme
## ----------------------------------------------------
## Gaussian finite mixture model fitted by EM algorithm
## ----------------------------------------------------
##
## Mclust VVI (diagonal, varying volume and shape) model with 2 components:
##
## log-likelihood n df BIC ICL
## -2221.687 568 9 -4500.454 -4632.692
##
## Clustering table:
## 1 2
## 240 328
Model Temelli kümeleme algoritmasında oluşturulan 2 kümede 1. kümede 240 gözlem değeri yer alırken 2. kümede 328 gözlem değeri yer almaktadır.
VVI ->Kümelerin hacimleri ve şekilleri farklı, benzer yönelimli
Optimal Küme Sayısı

Optimal küme sayısı 2 olarak gösterilmiştir.

Arada kalan gözlem değerleri
fviz_mclust(mc, "uncertainty", palette = "jco",pos = FALSE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.

G=3
summary(mc_3) #VVV
## ----------------------------------------------------
## Gaussian finite mixture model fitted by EM algorithm
## ----------------------------------------------------
##
## Mclust VVV (ellipsoidal, varying volume, shape, and orientation) model with 3
## components:
##
## log-likelihood n df BIC ICL
## 4756.374 568 197 8263.351 8232.716
##
## Clustering table:
## 1 2 3
## 61 193 314
Küme sayısı 3 için bakıldığında ise model BIC değeri açısından daha iyi sonuç vermiştir.

Kümelerde çakışmalar görülmektedir.
Model Temelli kümeleme için seçilen k=2 seçilebilir.
9) Yoğunluk Temelli Kümeleme
fviz_nbclust(data_pca, kmeans, nstart = 25, iter.max = 200, method = "wss") +
labs(subtitle = "Elbow method")

Optimal k=3 seçilerek DBSCAN yöntemi için oluşturulan kümeler:
fviz_cluster(km.res, data_pca, geom = "point",
ellipse= FALSE, show.clust.cent = FALSE,
palette = "jco", ggtheme = theme_classic())

Küme sayısı k=2 ve k=3 için sonuç aynıdır.
Plot DBSCAN
fviz_cluster(db, data = data_pca, stand = FALSE,
ellipse = FALSE, show.clust.cent = FALSE,
geom = "point",palette = "jco", ggtheme = theme_classic())

Gözlem sayısı çok olmadığı için Minpts=3 seçilmiştir. 34 tane aykırı gözlem vardır. 1. kümede 1 tane sınır değeri varken 2.kümede 5 tane sınır değeri vardır.
10) Küme Geçerliliği
Küme Eğiliminin Değerlendirilmesi
Random data sonuçlarına bakıldığında grafiklerin dağınık olduğu ve kümeleme analizine uygun olmadığı görülüyor.
## h_data h_random_data
## H 0.2001517 0.5016584
Hopkins istatistiğine göre random_data 0.50 çıktığı için kümelemeye uygun değilken orjinal veri 0’a daha yakın çıktığı için (0.20) kümelenebilir.
par(mfrow=c(1,2))
fviz_dist(dist(data_pca), show_labels = FALSE )+
labs(title = "Orjinal Data") #Birbirine yakın olanlar bir arada. Homojen dağılım

fviz_dist(dist(random_data), show_labels = FALSE)+
labs(title = "Random data") # Kümelemeye uygun değil.

Farklılık matrisine bakıldığında orjinal veri de küme yapısı görülürken random olarak üretilen veri de küme yapısı görülmez.
Optimal Küme Sayısının Belirlenmesi
## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 8 proposed 2 as the best number of clusters
## * 6 proposed 3 as the best number of clusters
## * 1 proposed 4 as the best number of clusters
## * 4 proposed 5 as the best number of clusters
## * 5 proposed 7 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 2 .

## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 1 proposed 1 as the best number of clusters
## * 10 proposed 2 as the best number of clusters
## * 2 proposed 3 as the best number of clusters
## * 10 proposed 6 as the best number of clusters
## * 1 proposed 7 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 2 .

## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 11 proposed 2 as the best number of clusters
## * 3 proposed 3 as the best number of clusters
## * 1 proposed 4 as the best number of clusters
## * 1 proposed 5 as the best number of clusters
## * 7 proposed 6 as the best number of clusters
## * 1 proposed 7 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 2 .

## Among all indices:
## ===================
## * 2 proposed 0 as the best number of clusters
## * 8 proposed 2 as the best number of clusters
## * 3 proposed 3 as the best number of clusters
## * 2 proposed 4 as the best number of clusters
## * 4 proposed 5 as the best number of clusters
## * 1 proposed 6 as the best number of clusters
## * 6 proposed 7 as the best number of clusters
##
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is 2 .

Farklı metodlar için en uygun küme sayısını belirlemek için oluşturulan görsellere göre optimal küme sayısı tüm metodlar için k=2 dir.
Küme Geçerliliği İstatistikleri
K-means Kümeleme
km_data <- eclust(data_pca, "kmeans", k = 2, nstart = 25, graph = TRUE)

# Visualize k-means clusters
fviz_cluster(km_data, geom = "point", ellipse.type = "norm",
palette = "jco", ggtheme = theme_minimal())

K-Medoids


Aşamalı Kümeleme

Dunn İndeksi ve diğer küme geçerliliği istatistikleri
Kmeans
## [1] 0.007354786
Kmedoids
pam_stats<-cluster.stats(dist(data_pca),pam_data$cluster)
pam_stats$dunn #0.013
## [1] 0.01313289
Hiyerarşik
hc_stats<-cluster.stats(dist(data_pca),hc_data$cluster)
hc_stats$dunn# 0.02
## [1] 0.02312344
Dun indeksi en yüksek değeri 0.02 ile Hiyerarşik kümeleme de almıştır.Dunn indeksinin değerinin büyük olması doğru kümeleme yapıldığını gösterdiği için burada en iyi sonucu Hiyerarşik vermiştir. Fakat onun hemen ardından 0.013 Dunn indeksi ile Kmedoids gelmektedir.
Algoritmaların karşılaştırılması
##
## Clustering Methods:
## kmeans pam hierarchical
##
## Cluster sizes:
## 2 3 4 5 6
##
## Validation Measures:
## 2 3 4 5 6
##
## kmeans Connectivity 44.1877 60.8627 75.9155 94.1349 88.7440
## Dunn 0.0074 0.0071 0.0196 0.0137 0.0091
## Silhouette 0.4939 0.4418 0.4295 0.3639 0.3580
## pam Connectivity 33.5456 74.4516 96.0698 106.8921 117.4278
## Dunn 0.0131 0.0050 0.0036 0.0064 0.0114
## Silhouette 0.4803 0.3628 0.3363 0.3345 0.2993
## hierarchical Connectivity 10.6940 18.4389 19.1845 35.8524 48.0599
## Dunn 0.0916 0.0689 0.0689 0.0479 0.0524
## Silhouette 0.5829 0.4653 0.4497 0.4547 0.4400
##
## Optimal Scores:
##
## Score Method Clusters
## Connectivity 10.6940 hierarchical 2
## Dunn 0.0916 hierarchical 2
## Silhouette 0.5829 hierarchical 2
PCA +kmedoids=2

Aşamalı Kümeleme

Küme geçerliliği istatistiklerine göre en iyi sonuçları veren yöntem hierarcihical olmuştur.
Dunn ve Silhouette değerleri açısından yüksekken Bağlantı değeri düşüktür. Fakat Aşamalı kümeleme yapıldığında kümelerde çakışmalar görülmektedir. Bu anlamda kmedoids kümeleme çakışma açısından daha iyi sonuçlar vermektedir.
DBSCAN algoritması 3 küme önerdiği ve küme içi gözlem sayıları birbirinden çok farklı olduğu için alternatif olarak 2 kümeli Model Temelli Yoğunluk algoritması da düşünülebilir.
Final modeli olarak 2 kümeli Kmedoids algoritması seçilmiştir.
11) Final Modeli

Kümelere Ait Tanımlayıcı İstatistikler
aggregate(data, by=list(pam_data_pca2$cluster), mean)
## Group.1 radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## 1 1 17.82573 21.32258 118.08353 1016.8732 0.10443305
## 2 2 12.28513 18.25392 78.95923 474.1931 0.09241823
## compactness_mean concavity_mean concave points_mean symmetry_mean
## 1 0.15545542 0.17539953 0.09442937 0.1965689
## 2 0.07880918 0.04550503 0.02617305 0.1734770
## fractal_dimension_mean
## 1 0.06361021
## 2 0.06239963
aggregate(data, by=list(pam_data_pca2$cluster), sd)
## Group.1 radius_mean texture_mean perimeter_mean area_mean smoothness_mean
## 1 1 3.182382 4.079038 21.46016 368.5889 0.01315581
## 2 2 1.797159 4.037095 11.83844 138.2267 0.01255971
## compactness_mean concavity_mean concave points_mean symmetry_mean
## 1 0.05102953 0.07196774 0.03066280 0.02769410
## 2 0.03027700 0.03603537 0.01510594 0.02382463
## fractal_dimension_mean
## 1 0.008372058
## 2 0.006279480
table(pam_data_pca2$cluster)
##
## 1 2
## 190 378
Orjinal veri için küme içi değişimlere bakıldığında kümelerin standart sapmaları ortalamaya göre büyük değildir yani küme içi homojenlikten söz edilebilir. İki kümenin ortalamaları ise birbirinden farklıdır. Bu da doğru kümeleme yapıldığı anlamına gelir.
1.kümede 190 gözlem bulunurken 2. kümede 378 adet gözlem değeri vardır. Aşamalı kümelemede ise küme eleman sayıları daha heterojendir. (1->171 2->397)